#ifndef ICONFIG_H
#define ICONFIG_H

#include <defs/export.h>

namespace Opl
{
	namespace Core
	{

		class CORE_EXPORT IConfig : public QObject
		{
				Q_OBJECT
			public:

				virtual ~IConfig() {}

				virtual bool load() = 0;
				virtual bool save() = 0;
				virtual QVariant value(const QString& path, const QVariant& def = QVariant()) = 0;
				virtual QVariant value(const QString& section, const QString& key, const QVariant& def) = 0;
				virtual void setValue(const QString& section, const QString& key, const QVariant& val) = 0;
		};

	};
};


#endif // ICONFIG_H

